Field of the Invention
The present invention relates to a technology for a rendering process in accordance with a scanline method.
Description of the Related Art
In the related art, as a method of rendering bitmap images from printing jobs, there a scanline method. In the scanline method, objects included in printing jobs described in page description languages (PDLs) are generally interpreted to generate display lists (DLs) which are intermediate data. Then, rendering processes are performed on the objects included in the generated DLs using units of scanlines extending in a main scanning direction (horizontal direction). In the scanlines, since the rendering process is performed on each object, the rendering process is slow in a printing job in which many objects are present on the same scan line in some cases. Accordingly, there are technologies for speeding up rendering processes by combining N objects into M objects (where M<N) in DL generation stages to reduce the number of objects on the same scan lines.
In the device disclosed in Japanese Patent Laid-Open No. 2013-42458, a rendering method (a painter's method or a scanline method) is changed according to a classification of combining target objects, a method of overlapping objects, and the number of objects to be combined. Depending on an application, a redundant rendering instruction such as an instruction to split one line into a plurality of overlapping objects for expression is given. In particular, if many fine objects are rendered using the scanline method, considerable loads are applied to processes for information (an edge or a level) on each object. By changing the rendering method according to the classification of combining target objects, a method of overlapping objects, and the number of objects to be combined, the objects to be combined can be rendered by the optimum method. In this way, it was possible to speed up rendering of bitmap images.
However, in the technology of Japanese Patent Laid-Open No. 2013-42458, the following phenomenon occurs if objects with vertically sliced shapes are combined. The objects with the vertically sliced shapes (hereinafter referred to as vertically sliced objects) are small pieces of objects which are separated in rendered objects according to an application or the like and are vertically elongated slender objects of which heights are greater than widths.
FIGS. 7A to 7D illustrate an example in which vertically sliced objects are generated. In FIGS. 7A to 7D below, the horizontal direction (transverse direction) corresponds to the main scanning direction in which an image is formed by a printing device and the vertical direction (longitudinal direction) corresponds to the sub-scanning direction (sheet transport direction). The main scanning direction of the printing device is the same as the scanline direction in rendering in accordance with a scanline method of the printing device. It is assumed that application data 700 in which the direction of an image illustrated in FIG. 7A that is a portrait (longitudinal orientation) is generated in accordance with an application of a host machine, and subsequently a printing process is performed. The entire surface of a page is imaged as application data 710 in FIG. 7B by an application, a process of splitting the surface of the page in the horizontal direction in units of one line, and data is sent to a printer driver. At this time, if a device which is an output destination of the data is a printing device for transverse transport, the printer driver rotates the entire page, converts the direction of the data as in a printing job 720 in FIGS. 7C and 7D into a landscape (transverse orientation), and sends the data to the printing device. In the printing job 720, many vertically sliced objects in which “width<<height” is set are generated through this conversion, as illustrated in objects 721 in FIG. 7D.
In the technology of Japanese Patent Laid-Open No. 2013-42458, there is no configuration in which it is determined whether or not objects are vertically sliced objects and a rendering algorithm at the time of combining the objects is the above-described scanline method. In this case, in the printing job 720 in FIGS. 7C and 7D, data is interpreted in the horizontal direction (width direction) indicated by an arrow 722 of FIG. 7D. Therefore, to handle a large number of edges proportional to the number of objects, calculation complexity becomes considerable.